package com.hy.appium2;

import io.appium.java_client.android.Activity;
import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.net.MalformedURLException;
import java.net.URL;

public class AppiumDemo3StartActivity {

    AndroidDriver driver;


    @BeforeMethod
    public void SetUp() throws MalformedURLException {
        //1.需要创建配置对象   desiredcapabilities
        DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
        //将需要启动的软件的一些配置添加进来
        //1.添加需要测试 的主机的路径
        desiredCapabilities.setCapability("deviceName", "127.0.0.1:62001");
        desiredCapabilities.setCapability("platformName", "Android");
        desiredCapabilities.setCapability("appPackage", "com.handsgo.jiakao.android");
        //默认启动不初始化软件
        desiredCapabilities.setCapability("noReset", "true");
        desiredCapabilities.setCapability("appActivity", "com.handsgo.jiakao.android.splash.Login");
        //创建驱动
//        AndroidDriver<WebElement> Driver = new AndroidDriver<WebElement>(url, desiredCapabilities);
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), desiredCapabilities);


    }

    @Test
    public void test() throws InterruptedException {

        //实例化Activity，实现页面跳转

        Activity activity = new Activity("com.handsgo.jiakao.android", ".exam_skill.activity.DoExamSkillActivity");

        Thread.sleep(15000);
        String AssertDialog = "com.handsgo.jiakao.android:id/closeIv";
        if (byElement(By.id(AssertDialog)) == true) {
            driver.findElementById(AssertDialog).click();
        }
        else {
            System.out.println("n");
        }
        driver.startActivity(activity);
        Thread.sleep(10000);
    }

    @Test
    public void tes1() throws InterruptedException {

        //实例化Activity，实现页面跳转

        Activity activity = new Activity("com.android.browser", ".BrowserActivity");

        Thread.sleep(8000);
        String AssertDialog = "com.handsgo.jiakao.android:id/closeIv";
        if (byElement(By.id(AssertDialog)) == true) {
            driver.findElementById(AssertDialog).click();
        }
        else {
            System.out.println("n");
        }
        driver.startActivity(activity);
        Thread.sleep(8000);
    }

    @Test
    public void test3() {

        //获取网页源代码
        String pageSource = driver.getPageSource();

        System.out.println(pageSource);


    }

    @AfterMethod
    public void TestDown() {


//        driver.quit();
    }

    public boolean byElement(By btId) {
        try {
            driver.findElement(btId);
            return true;
        } catch (Exception e) {
            return false;
        }
    }
}
